\documentclass{ctexart}

\usepackage{graphicx}
\usepackage{amsmath}

\title{作业二: Linux脚本中的For循环（参考38页的Try it out）}


\author{张凌帆 ZhangLingfan \\ 数学与应用数学 3190104913}

\begin{document}

\maketitle

\section{Linux脚本介绍}
脚本并不是正式的编程语言，而只是一些命令的集合组成的文件。shell脚本可以帮助我们更快捷迅速地执行命令，更方便地去管理服务器。
\section{Linux基本命令介绍}
在这里给出一些基本的LINUX终端的命令：

\verb|ls| 该命令可以列出当前目录下所有文件

\verb|ls -l| 列出当前目录下所有文件及其属性（包括创建时间/文件属性/占用空间等等）

\verb|cd| 进入当前目录所属的某个目录

\verb|cd ..| 返回上一级目录

这些基本的命令已经能使我们在LINUX中自由地穿梭了（就像在WINDOWS中一样），那么接下来就可以尝试建立脚本了。

\section{如何创建脚本}
\subsection{方法一}
如果你没有合适的編輯器，那麼可以按照以下步驟创建脚本。

首先，用\verb|cat|命令创建一个新的文件:

\verb|cat > hello.sh|

然后，输入你希望在脚本中輸入的內容，比如：

\verb|echo "Hello, World!"|

最后，按Ctrl+D將文本保存在文件中，同時從cat命令中出來。

这样，再次使用\verb|ls|，你就可以在你的文件中找到一个后缀为“.sh”的脚本文件。


\subsection{方法二}
如果你有emacs，可以直接诶用emacs创建脚本。在终端输入：

\verb|emacs hello.sh|

即可完成创建，这时会弹出一个编辑器的页面，直接在emacs中编辑即可。编辑完成后，保存后退出emacs即可。


按照上述方法创建脚本之后，使用\verb|bash hello.sh|即可运行脚本。
\section{利用For循环查找文件(重点内容！)}
首先，在文件开头我们一般需要写：

\verb|#!/bin/sh|
\subsection{For循环基本运用}
与python，c语言等编程语言中的for循环类似，在脚本中我们也一样用for进行遍历和查找。在下面的代码中，我们可以看到循环的基本作用。


    \begin{verbatim}
    for foo in bar fud 43
    do
    echo $foo  
    done
    \end{verbatim}


其中符号\verb|$|表示引用， 是为了让计算机知道你是在引用上面循环中的变量\verb|foo|
在运行时，
\verb|bar fud 43|
被当作一个集合中的三个元素，最终结果是将其逐个输出。结果如下：

     \begin{verbatim}
    bar
    fud
    43
    \end{verbatim}


然而，如果将上述\verb|for foo in bar fud 43|改为\verb|for foo in ”bar fud 43“|，在运行时，\verb|”bar fud 43“|将会被看作一个整体。输出结果如下：

\verb|bar fud 43|



\subsection{For循环查找文件}
了解了For循环的基本运用之后，我们将用for循环来查找文件。比如果，我们想要寻找的当前目录之下以h开头的脚本文件，我们可以运用如下代码：

    \begin{verbatim}
    for file in $(ls h*.sh)
    do
    echo $file
    done
    \end{verbatim}




其中\verb|for file in $(ls h*.sh)|中的\verb|$(ls h*.sh)|是对查找范围做了一个限定，\verb|ls|表明是当前目录之下的，\verb|h*.sh|表明是以h开头的sh文件，如果想要找\verb|f|开头的文件，只需要把此处的\verb|h|变为\verb|f|即可。

以在我电脑中运行的结果为例，我的scripts目录下有三个文件：

\verb|fiii.sh , hw2.sh , hello.sh|


则在scripts中运行上述查找代码的出的结果为：

\verb|hello.sh|

\verb|hw2.sh|

\section{总结}
上面的内容就是关于LINUX脚本的一点点介绍，其中for循环在查找文件中的应用是十分重要的，可以让你的操作更加顺滑和便捷。本文内容主要参考的是教材38页的TRY it out。
\end{document}